package com.ruoyi.common.utils;

import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import com.ruoyi.common.utils.spring.SpringUtils;

import com.aliyun.teaopenapi.models.Config;
import com.aliyun.dysmsapi20170525.Client;
import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
import com.aliyun.dysmsapi20170525.models.SendSmsResponse;

import java.util.Random;

import static com.aliyun.teautil.Common.toJSONString;


/**
 * 获取i18n资源文件
 * 
 * @author ruoyi
 */
public class MessageUtils
{
    /**
     * 根据消息键和参数 获取消息 委托给spring messageSource
     *
     * @param code 消息键
     * @param args 参数
     * @return 获取国际化翻译值
     */
    public static String message(String code, Object... args)
    {
        MessageSource messageSource = SpringUtils.getBean(MessageSource.class);
        return messageSource.getMessage(code, args, LocaleContextHolder.getLocale());
    }


  //  setx ALIBABA_CLOUD_ACCESS_KEY_ID LTAI5tKFcd4eqoUbLy88kAar /M
   //  setx ALIBABA_CLOUD_ACCESS_KEY_SECRET 8Pew1hJrozUbvmN1bh2x0L4cTb9RSU /M
    public static Client createClient() throws Exception {
        Config config = new Config()
                // 配置 AccessKey ID，请确保代码运行环境设置了环境变量。
                .setAccessKeyId("LTAI5tKFcd4eqoUbLy88kAar")
                // 配置 AccessKey Secret，请确保代码运行环境设置了环境变量。
                .setAccessKeySecret("8Pew1hJrozUbvmN1bh2x0L4cTb9RSU");
        // System.getenv()方法表示获取系统环境变量，请配置环境变量后，在此填入环境变量名称，不要直接填入AccessKey信息。

        // 配置 Endpoint
        config.endpoint = "dysmsapi.aliyuncs.com";
       // config.endpoint = "ecs.ap-southeast-1.aliyuncs.com";

        return new Client(config);
    }


    public static void  aliyunSendMsg(String phoneNumber,String msgContent) throws Exception {
        Client client = createClient();
        SendSmsRequest sendSmsRequest = new SendSmsRequest()
                .setPhoneNumbers(phoneNumber)
                .setSignName("北京鼎拍电子商务")
                .setTemplateCode("SMS_319350019")
                .setTemplateParam("{\"code\":\""+msgContent+"\"}");
        // 获取响应对象
        SendSmsResponse sendSmsResponse = client.sendSms(sendSmsRequest);
    }



    public static void main(String[] args) throws Exception {


         aliyunSendMsg("13367277530","3687");
        // 初始化请求客户端
//        Client client = createClient();
//
//        // 构造请求对象，请填入请求参数值
//        SendSmsRequest sendSmsRequest = new SendSmsRequest()
//                .setPhoneNumbers("13367277530")
//                .setSignName("北京鼎拍电子商务")
//                .setTemplateCode("SMS_319350019")
//                .setTemplateParam("{\"code\":\"1234\"}");
//
//        // 获取响应对象
//        SendSmsResponse sendSmsResponse = client.sendSms(sendSmsRequest);
//
//        // 响应包含服务端响应的 body 和 headers
//        System.out.println(toJSONString(sendSmsResponse));
    }
}
